22 research outputs found

    Reconfigurable Lattice Agreement and Applications

    Get PDF
    Reconfiguration is one of the central mechanisms in distributed systems. Due to failures and connectivity disruptions, the very set of service replicas (or servers) and their roles in the computation may have to be reconfigured over time. To provide the desired level of consistency and availability to applications running on top of these servers, the clients of the service should be able to reach some form of agreement on the system configuration. We observe that this agreement is naturally captured via a lattice partial order on the system states. We propose an asynchronous implementation of reconfigurable lattice agreement that implies elegant reconfigurable versions of a large class of lattice abstract data types, such as max-registers and conflict detectors, as well as popular distributed programming abstractions, such as atomic snapshot and commit-adopt

    Analyse de la dynamique de réseaux de contacts

    No full text
    En munissant des individus de capteurs, il est possible de mesurer Ă  quels moments deux personnes sont physiquement proches. L'ensemble de ces contacts, permettant l'Ă©change d'information sans passer par une infrastructure existante, forme ce qu'on appelle un rĂ©seau de contacts. L'Ă©tude de tels rĂ©seaux se diversifie dans la littĂ©rature, mais la structure dynamique inhĂ©rente de ces rĂ©seaux complexifie grandement leur Ă©tude. Les mĂ©thodes classiques d'Ă©tude des graphes doivent donc ĂȘtre repensĂ©es. Dans ce rapport de stage, on dĂ©taille des propositions pour adapter la notion de centralitĂ©, classique pour les graphes statiques, afin de prendre en compte l'aspect dynamique de tels rĂ©seaux. Le but est de quantifier l'importance des diffĂ©rents nƓuds du rĂ©seau lors de diffusion d'information. Le rĂŽle des nƓuds Ă©voluant au cours du temps, la mĂ©trique que nous proposons permet de quantifier l'importance d'un nƓud donnĂ© en fonction du temps de dĂ©part de la diffusion d'information et ce pour tous les temps de dĂ©part possibles. Les rĂ©sultats montrent que les mĂ©triques proposĂ©es permettent d'observer des nuances non nĂ©gligeables entre les diffĂ©rents nƓuds. L'Ă©volution de l'importance d'un nƓud reste toutefois difficile Ă  bien caractĂ©riser, les rĂ©sultats prĂ©sentant une grande variabilitĂ© au cours du temps

    Progress-Space Tradeoffs in Single-Writer Memory Implementations

    Get PDF
    Many algorithms designed for shared-memory distributed systems assume the single-writer multi- reader (SWMR) setting where each process is provided with a unique register that can only be written by the process and read by all. In a system where computation is performed by a bounded number n of processes coming from a large (possibly unbounded) set of potential participants, the assumption of an SWMR memory is no longer reasonable. If only a bounded number of multi- writer multi-reader (MWMR) registers are provided, we cannot rely on an a priori assignment of processes to registers. In this setting, implementing an SWMR memory, or equivalently, ensuring stable writes (i.e., every written value persists in the memory), is desirable. In this paper, we propose an SWMR implementation that adapts the number of MWMR registers used to the desired progress condition. For any given k from 1 to n, we present an algorithm that uses n + k ? 1 registers to implement a k-lock-free SWMR memory. In the special case of 2-lock-freedom, we also give a matching lower bound of n + 1 registers, which supports our conjecture that the algorithm is space-optimal. Our lower bound holds for the strictly weaker progress condition of 2-obstruction-freedom, which suggests that the space complexity for k-obstruction-free and k-lock-free SWMR implementations might coincide

    Brief Announcement: Compact Topology of Shared-Memory Adversaries

    Get PDF
    The paper proposes a simple topological characterization of a large class of adversarial distributed-computing models via affine tasks: sub-complexes of the second iteration of the standard chromatic subdivision. We show that the task computability of a model in the class is precisely captured by iterations of the corresponding affine task. While an adversary is in general defined as a non-compact set of infinite runs, its affine task is just a finite subset of runs of the 2-round iterated immediate snapshot (IIS) model. Our results generalize and improve all previously derived topological characterizations of distributed-computing models

    Read-Write Memory and k-Set Consensus as an Affine Task

    Get PDF
    The wait-free read-write memory model has been characterized as an iterated \emph{Immediate Snapshot} (IS) task. The IS task is \emph{affine}---it can be defined as a (sub)set of simplices of the standard chromatic subdivision. It is known that the task of \emph{Weak Symmetry Breaking} (WSB) cannot be represented as an affine task. In this paper, we highlight the phenomenon of a "natural" model that can be captured by an iterated affine task and, thus, by a subset of runs of the iterated immediate snapshot model. We show that the read-write memory model in which, additionally, kk-set-consensus objects can be used is, unlike WSB, "natural" by presenting the corresponding simple affine task captured by a subset of 22-round IS runs. Our results imply the first combinatorial characterization of models equipped with abstractions other than read-write memory that applies to generic tasks

    On Finality in Blockchains

    Get PDF
    This paper focuses on blockchain finality, which refers to the time when it becomes impossible to remove a block that has previously been appended to the blockchain. Blockchain finality can be deterministic or probabilistic, immediate or eventual. To favor availability against consistency in the face of partitions, most blockchains only offer probabilistic eventual finality: blocks may be revoked after being appended to the blockchain, yet with decreasing probability as they sink deeper into the chain. Other blockchains favor consistency by leveraging the immediate finality of Consensus - a block appended is never revoked - at the cost of additional synchronization. The quest for "good" deterministic finality properties for blockchains is still in its infancy, though. Our motivation is to provide a thorough study of several possible deterministic finality properties and explore their solvability. This is achieved by introducing the notion of bounded revocation, which informally says that the number of blocks that can be revoked from the current blockchain is bounded. Based on the requirements we impose on this revocation number, we provide reductions between different forms of eventual finality, Consensus and Eventual Consensus. From these reductions, we show some related impossibility results in presence of Byzantine processes, and provide non-trivial results. In particular, we provide an algorithm that solves a weak form of eventual finality in an asynchronous system in presence of an unbounded number of Byzantine processes. We also provide an algorithm that solves eventual finality with a bounded revocation number in an eventually synchronous environment in presence of less than half of Byzantine processes. The simplicity of the arguments should better guide blockchain designs and link them to clear formal properties of finality

    Détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus

    Get PDF
    International audienceCet article présente une implémentation asynchrone d'un nouveau détecteur de défaillances minimal pour la résolution du consensus dans le cas de réseaux inconnus, i.e., sans connaissance préalable sur le systÚme. Ce détecteur ne repose pas sur des minuteurs. Nous donnons une propriété comportementale raisonnable, suffisante pour garantir son implémentation

    Accountability and Reconfiguration: Self-Healing Lattice Agreement

    Get PDF
    An accountable distributed system provides means to detect deviations of system components from their expected behavior. It is natural to complement fault detection with a reconfiguration mechanism, so that the system could heal itself, by replacing malfunctioning parts with new ones. In this paper, we describe a framework that can be used to implement a large class of accountable and reconfigurable replicated services. We build atop the fundamental lattice agreement abstraction lying at the core of storage systems and cryptocurrencies. Our asynchronous implementation of accountable lattice agreement ensures that every violation of consistency is followed by an undeniable evidence of misbehavior of a faulty replica. The system can then be seamlessly reconfigured by evicting faulty replicas, adding new ones and merging inconsistent states. We believe that this paper opens a direction towards asynchronous "self-healing" systems that combine accountability and reconfiguration
    corecore